package com.zmn.oms.services.interfaces.track;

import com.zmn.oms.model.entity.track.OrderTrack;
import com.zmn.oms.model.entity.track.OrderTrackQuery;

import java.util.List;

/**
 * 类描述：跟单
 *
 * @author heciqi
 * @date 2018/11/26 22:00
 */
@Deprecated
public interface OrderTrackService {
	/**
	 * 根据跟单ID查找
	 *
	 * @param trackId
	 * @return
	 */
	OrderTrack findById(Long trackId);

	/**
	 * 根据订单id集合查询工单跟单集合
	 *
	 * @param orderIdList 订单id集合
	 * @return 工单跟单集合
	 */
	List<OrderTrack> listOrderTrackByOrderIdList(List<Long> orderIdList);

	/**
	 * 根据工单查询跟单记录
	 * @param orderId
	 * @return
	 */
	List<OrderTrack> listOrderTrackByWorkId(Long orderId, Long workId);

	/**
	 * 根据工单查询跟单记录 主库
	 * @param orderId
	 * @return
	 */
	List<OrderTrack> listOrderTrackByWorkIdSrcMaster(Long orderId, Long workId);

	/**
	 * 数量查询
	 * @param query
	 * @return
	 */
	Integer countByQuery(OrderTrackQuery query);

	/**
	 * 新增跟单
	 * @param orderTrack
	 * @return
	 */
    Integer insertTrack(OrderTrack orderTrack);

	/**
	 * 新增跟单List
	 * @param orderTrackList
	 * @return
	 */
	Integer insertTrackList(List<OrderTrack> orderTrackList);

	/**
	 * 新增完成跟单List
	 * @param orderTrackList
	 * @return
	 */
	Integer insertCompleteTrackList(List<OrderTrack> orderTrackList);

	/**
	 * 修改跟单结果
	 * @param orderTrack
	 * @return
	 */
    Integer updateResultTrack(OrderTrack orderTrack);

	/**
	 * 根据跟单id集合删除
	 * @param trackIdList
	 * @return
	 */
    Integer deleteByTrackIdList(List<Long> trackIdList);
}
